title: “Estado del COVID-19 en Costa Rica (alberto salazar)” output: flexdashboard::flex_dashboard: orientation: rows # social: menu # source_code: embed vertical_layout: fill

Resumen

Row

Última actualización de datos realizada el 2020-11-17 con base en los datos publicados por el Ministerio de Salud de Costa Rica.

Row

Casos positivos

valueBox(value = paste(format(df_general_pais_ultima_fecha$positivos, big.mark = ","), "", sep = " "), 
         caption = "Total de casos positivos", 
         icon = icono_positivos, 
         color = color_positivos
)
125,590

Casos activos

valueBox(value = paste(format(df_general_pais_ultima_fecha$activos, big.mark = ","), " (",
                       round(100 * df_general_pais_ultima_fecha$activos / df_general_pais_ultima_fecha$positivos, 1), 
                       "%)", sep = ""), 
         caption = "Total de casos activos",
         icon = icono_activos, 
         color = color_activos
)
46,454 (37%)

Casos recuperados

valueBox(value = paste(format(df_general_pais_ultima_fecha$RECUPERADOS, big.mark = ","), " (",
                       round(100 * df_general_pais_ultima_fecha$RECUPERADOS / df_general_pais_ultima_fecha$positivos, 1), 
                       "%)", sep = ""), 
         caption = "Total de casos recuperados",
         icon = icono_recuperados, 
         color = color_recuperados
)
77,558 (61.8%)

Casos fallecidos

valueBox(value = paste(format(df_general_pais_ultima_fecha$fallecidos, big.mark = ","), " (",
                       round(100 * df_general_pais_ultima_fecha$fallecidos / df_general_pais_ultima_fecha$positivos, 1), 
                       "%)", sep = ""), 
         caption = "Total de casos fallecidos",
         icon = icono_fallecidos, 
         color = color_fallecidos
)
1,578 (1.3%)

Row

Hospitalizados

valueBox(value = paste(format(df_general_pais_ultima_fecha$hospital, big.mark = ","), "", sep = " "), 
         caption = "Total de hospitalizados", 
         icon = icono_hospitalizados,
         color = color_hospitalizados
)
514

En salón

valueBox(value = paste(format(df_general_pais_ultima_fecha$salon, big.mark = ","), " (",
                       round(100 * df_general_pais_ultima_fecha$salon / df_general_pais_ultima_fecha$hospital, 1), 
                       "%)", sep = ""), 
         caption = "Hospitalizados en salón",
         icon = icono_salon, 
         color = color_salon
)
293 (57%)

En UCI - Porcentaje de casos respecto a 359 espacios disponibles

rate <- (100/359)*df_general_pais_ultima_fecha$UCI
gauge(rate, min = 0, max = 359, symbol = '', gaugeSectors(
  success = c(0, 199), warning = c(200, 299), danger = c(300, 359)
))

Row

Tabla de cantidades de casos COVID

df_general_distritos_ultima_fecha %>% 
  select(Provincia = provincia, Canton = canton, Distrito = distrito, Positivos = positivos, Recuperados = recuperados, Fallecidos = fallecidos, Activos = activos) %>%
  DT::datatable(rownames = FALSE,
                options = list(searchHighlight = TRUE, 
                               language = list(url = '//cdn.datatables.net/plug-ins/1.10.11/i18n/Spanish.json')
                               )
  )

Casos positivos

Row

Última actualización de datos: 2020-11-17

Row

Casos positivos

valueBox(value = paste(format(df_general_pais_ultima_fecha$positivos, big.mark = ","), "", sep = " "), 
         caption = "Total de casos positivos", 
         icon = icono_positivos, 
         color = color_positivos
)
125,590

Row

Mapa de casos positivos por distrito

paleta_azul <- colorBin(palette = "Blues", 
                        domain = sf_general_distritos_ultima_fecha$positivos,
                        bins = 10
               )

leaflet_cantones <- leaflet(sf_general_distritos_ultima_fecha) %>% 
  fitBounds(lng1 = -86, lng2 = -82, lat1 = 8, lat2 = 11) %>%
  addProviderTiles(providers$OpenStreetMap.Mapnik, group = "OpenStreetMap") %>%
  addPolygons(fillColor = ~paleta_azul(positivos), stroke=T, fillOpacity = 1,
              color="black", weight=0.2, opacity= 0.5,
              group = "Distritos",
              popup = paste("Provincia: ", sf_general_distritos_ultima_fecha$provincia, "<br>",
                            "Cantón: ", sf_general_distritos_ultima_fecha$canton, "<br>",
                            "Distrito: ", sf_general_distritos_ultima_fecha$distrito, "<br>",
                            "Positivos: ", sf_general_distritos_ultima_fecha$positivos
                            
                            )
  ) %>%
  addLegend("bottomright", pal = paleta_azul, values = ~positivos,
    title = "Casos positivos",
    opacity = 1
  ) %>%  
  addLayersControl(
    baseGroups = c("OpenStreetMap"),
    overlayGroups = c("Distritos"),
    options = layersControlOptions(collapsed = TRUE)    
  ) %>% 
  addScaleBar() %>% 
  addMiniMap(
    toggleDisplay = TRUE,
    position = "bottomleft",
    tiles = providers$OpenStreetMap.Mapnik
  )
## Warning in RColorBrewer::brewer.pal(max(3, n), palette): n too large, allowed maximum for palette Blues is 9
## Returning the palette you asked for with that many colors

## Warning in RColorBrewer::brewer.pal(max(3, n), palette): n too large, allowed maximum for palette Blues is 9
## Returning the palette you asked for with that many colors
# Despliegue del mapa
leaflet_cantones

Gráfico de distritos con mayor cantidad de casos positivos

plot_ly(datos, 
        labels = ~ distrito, 
        values = ~ positivos, 
        type = "pie",
        textinfo = "percent",
        textposition = '',
        marker = list(color = color_positivos)
) %>%
  layout(title = "10 distritos con más casos positivos") %>%
  config(locale = "es")
## Warning: `arrange_()` is deprecated as of dplyr 0.7.0.
## Please use `arrange()` instead.
## See vignette('programming') for more help
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_warnings()` to see where this warning was generated.

Casos activos

Row

Última actualización de datos realizada el 2020-11-17 con base en los datos publicados por el Ministerio de Salud de Costa Rica.

Row

Casos activos

valueBox(value = paste(format(df_general_pais_ultima_fecha$activos, big.mark = ","), "", sep = " "), 
         caption = "Total de casos activos", 
         icon = icono_activos, 
         color = color_activos
)
46,454

Row

Mapa de casos activos en distritos

Gráfico de distritos con mayor cantidad de casos activos

Casos recuperados

Row

Última actualización de datos realizada el 2020-11-17 con base en los datos publicados por el Ministerio de Salud de Costa Rica.

Casos fallecidos

Row

Última actualización de datos realizada el 2020-11-17 con base en los datos publicados por el Ministerio de Salud de Costa Rica.

Mapa de calor

Row

Última actualización de datos: 2020-11-17

Row

Casos en distritos

# Cálculo de centroides de los distritos
sf_distritos_centroides = st_centroid(sf_general_distritos_ultima_fecha, of_largest_polygon = FALSE)
## Warning in st_centroid.sf(sf_general_distritos_ultima_fecha, of_largest_polygon
## = FALSE): st_centroid assumes attributes are constant over geometries of x
## Warning in st_centroid.sfc(st_geometry(x), of_largest_polygon =
## of_largest_polygon): st_centroid does not give correct centroids for longitude/
## latitude data
# Separación de los datos de longitud y latitud en columnas distintas
separated_coord <- sf_distritos_centroides %>%
  mutate(long = unlist(map(sf_distritos_centroides$geometry,1)),
         lat = unlist(map(sf_distritos_centroides$geometry,2))
         )

# Mapa de calor
leaflet() %>%
  fitBounds(lng1 = -86, lng2 = -82, lat1 = 8, lat2 = 11) %>%
  addProviderTiles(providers$Stamen.TonerLite, group = "Stamen Toner Lite") %>%
  addProviderTiles(providers$CartoDB.DarkMatter, group = "CartoDB DarkMatter") %>%
  addProviderTiles(providers$OpenStreetMap.Mapnik, group = "OpenStreetMap") %>%
  addPolygons(
    data = sf_general_distritos_ultima_fecha,
    stroke=T, fillOpacity = 0,
    color="black", weight=0.2, opacity= 1.0,
    group = "Distritos",
    popup = paste(
      "Provincia: ", sf_general_distritos_ultima_fecha$provincia, "<br>",
      "Cantón: ", sf_general_distritos_ultima_fecha$canton, "<br>",
      "Distrito: ", sf_general_distritos_ultima_fecha$distrito, "<br>",
      "Casos positivos: ", sf_general_distritos_ultima_fecha$positivos, "<br>",
      "Casos activos: ", sf_general_distritos_ultima_fecha$activos, "<br>",
      "Casos recuperados: ", sf_general_distritos_ultima_fecha$recuperados, "<br>",
      "Casos fallecidos: ", sf_general_distritos_ultima_fecha$fallecidos
    )
  ) %>%    
  addHeatmap(
    data = separated_coord,
    lng = ~long, lat = ~lat, intensity = ~positivos,
    blur = 10, max = 5423, radius = 15,
    group = "Casos positivos"
  ) %>%    
  addHeatmap(
    data = separated_coord,
    lng = ~long, lat = ~lat, intensity = ~activos,
    blur = 10, max = 1106, radius = 15,
    group = "Casos activos"
  ) %>%  
  addHeatmap(
    data = separated_coord,
    lng = ~long, lat = ~lat, intensity = ~recuperados,
    blur = 10, max = 4837, radius = 15,
    group = "Casos recuperados"
  ) %>%    
  addHeatmap(
    data = separated_coord,
    lng = ~long, lat = ~lat, intensity = ~fallecidos,
    blur = 10, max = 54, radius = 15,
    group = "Casos fallecidos"
  ) %>%      
  addLayersControl(
    baseGroups = c("Stamen Toner Lite", "CartoDB DarkMatter", "OpenStreetMap"),
    overlayGroups = c("Distritos", "Casos positivos", "Casos activos", "Casos recuperados", "Casos fallecidos"),
    options = layersControlOptions(collapsed = TRUE)    
  ) %>%
  addScaleBar() %>% 
  hideGroup("Distritos") %>%
  hideGroup("Casos activos") %>%
  hideGroup("Casos recuperados") %>%
  hideGroup("Casos fallecidos")